/**
 * @file testQLineEdit.cpp
 * @brief test QLineEdit
 * @author JakeYang <add358@gmail.com>
 * @version 0.1
 * @date 2016-03-31
 */

#include <QtWidgets>
#include <QtTest/QtTest>

class TestQLineEdit: public QObject {
	Q_OBJECT
private slots:
	void  testGui_data();
	void testGui();
};

void TestQLineEdit::testGui_data()
{
	QTest::addColumn<QTestEventList>("events");
	QTest::addColumn<QString>("expected");

	QTestEventList list1;
	list1.addKeyClick('a');
	QTest::newRow("char") << list1 << "a";

	QTestEventList list2;
	list2.addKeyClick('a');
	list2.addKeyClick(Qt::Key_Backspace);
	QTest::newRow("there and back again") << list2 <<"";
}

void TestQLineEdit::testGui()
{
	QFETCH(QTestEventList, events);
	QFETCH(QString, expected);

	QLineEdit lineEdit;

	events.simulate(&lineEdit);

	QCOMPARE(lineEdit.text(), expected);
}

QTEST_MAIN(TestQLineEdit)
#include "testQLineEdit.moc"
